Draft SVG jest modułem oprogramowania używanym przez polecenia Otwórz,
Importuj i
Eksportuj do obsługi plików w formacie SVG.
Rysunek Inkscape wyeksportowany do SVG, który jest następnie otwierany w FreeCAD.
Importowane mogą być następujące obiekty SVG:
FreeCAD nie zaimportuje obiektów ścieżek, które mają tylko jeden punkt (dyskusja na forum).
Eksportowane mogą być następujące obiekty FreeCAD:
SVG jest formatem 2D, więc wszystkie informacje o osi Z zostaną pominięte (wszystkie obiekty zostaną spłaszczone).
Podczas eksportowania jednostka użytkownika (px) jest równa jednemu milimetrowi.
Podczas importowania przestrzegane są atrybuty szerokości, wysokości i viewBox. Wszystkie elementy są skalowane do ich rozmiaru w milimetrach, co jest wewnętrzną jednostką FreeCAD. Jeśli SVG nie zawiera informacji o jego fizycznym rozmiarze, przyjmuje się, że ma rozdzielczość 90 DPI. Należy unikać używania jednostek bezwzględnych w atrybutach wewnątrz SVG. Jednostki względne, takie jak em, ex i % nie są obecnie obsługiwane.
Edytor SVG Inkscape działa obecnie tylko z dokumentami o rozdzielczości 90 DPI. Nie ma znaczenia, która jednostka jest wybrana w Inkscape. Wszystkie dane wyjściowe muszą zostać przekonwertowane do 90 DPI i zaokrąglone do 6 miejsc po przecinku. Ponieważ FreeCAD (i standard SVG) jest niezależny od precyzji zaokrąglania wykonanego w Inkscape, wartości te nie będą zaokrąglane na wejściu. Nieparzyste wartości w milimetrach pozostaną. Jeśli import SVG nie ma być zaokrąglany, należy pracować na jednostkach użytkownika (px) w Inkscape. Skalowanie można wykonać po zaimportowaniu we FreeCAD lub poprzez zmianę atrybutów szerokości, wysokości i pola widoku.
Aby uzyskać więcej informacji zobacz stronę Ustawienia Importu i Eksportu.
Zobacz również stronę: Dokumentacja API generowana automatycznie oraz Podstawy pisania skryptów dla FreeCAD.
Aby wyeksportować obiekty do SVG, użyj metody export
modułu importSVG.
importSVG.export(exportList, filename)
filename
.Przykład:
import FreeCAD as App
import Draft
import importSVG
doc = App.newDocument()
polygon1 = Draft.make_polygon(3, radius=500)
polygon2 = Draft.make_polygon(5, radius=1500)
doc.recompute()
objects = [polygon1, polygon2]
importSVG.export(objects, "/home/user/Pictures/myfile.svg")